Typically when a developer wants to create a software application, the first thing they do is tell their tool what type of application they want to create—a MICROSOFT® WINDOWS® application, a web application, an operating system service and so on. They typically start by selecting File/Create New Project or some similar series of events, specify the type of project they want to create, and then write the code for that project type. This process is called “targeting” the application to a specific platform. If the user later wants to take that same application and turn it from, say, a WINDOWS® application into a gadget, they need to tell the tool to create a new project of the gadget type and copy their code into the new project and make any modifications to the code there.